package de.sabram.upb.specs.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.sabram.upb.specs.services.GlaGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalGlaParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_REGEX", "RULE_IDENTIFIER", "RULE_REGEX_BODY", "RULE_REGEX_STRING", "RULE_REGEX_DIGIT", "RULE_REGEX_CARDINALITY", "RULE_REGEX_SYMBOL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_WS", "RULE_ID", "RULE_INT", "RULE_SL_COMMENT", "RULE_ANY_OTHER", "'ADA_COMMENT'", "'ADA_IDENTIFIER'", "'AWK_COMMENT'", "'C_COMMENT'", "'C_CHAR_CONSTANT'", "'C_FLOAT'", "'C_IDENTIFIER'", "'C_INTEGER'", "'C_INT_DENOTATION'", "'C_STRING_LIT'", "'MODULA_INTEGER'", "'MODULA2_COMMENT'", "'MODULA3_COMMENT'", "'MODULA2_CHARINT'", "'MODULA2_INTEGER'", "'MODULA2_LITERALDQ'", "'MODULA2_LITERALSQ'", "'PASCAL_COMMENT'", "'PASCAL_IDENTIFIER'", "'PASCAL_INTEGER'", "'PASCAL_REAL'", "'PASCAL_STRING'", "'SPACES'", "'TAB'", "'NEW_LINE'", "'auxEOF'", "'coordAdjust'", "'auxNewLine'", "'auxTab'", "'auxEOL'", "'auxPascalString'", "'auxPascalComment'", "'auxNoEOL'", "'auxCString'", "'auxCChar'", "'auxCComment'", "'auxM2String'", "'auxM3Comment'", "'Ctext'", "'c_mkchar'", "'c_mkint'", "'c_mkstr'", "'EndOfText'", "'lexerr'", "'mkidn'", "'mkint'", "'mkstr'", "'modula_mkint'", "':'", "'('", "')'", "'['", "']'"
    };
    public static final int T__68=68;
    public static final int T__69=69;
    public static final int RULE_ID=14;
    public static final int T__66=66;
    public static final int T__67=67;
    public static final int T__64=64;
    public static final int T__29=29;
    public static final int T__65=65;
    public static final int T__28=28;
    public static final int T__62=62;
    public static final int T__27=27;
    public static final int T__63=63;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=17;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_REGEX_BODY=6;
    public static final int T__61=61;
    public static final int T__60=60;
    public static final int EOF=-1;
    public static final int RULE_REGEX_SYMBOL=10;
    public static final int RULE_REGEX=4;
    public static final int T__55=55;
    public static final int T__19=19;
    public static final int T__56=56;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__51=51;
    public static final int T__52=52;
    public static final int T__18=18;
    public static final int T__53=53;
    public static final int T__54=54;
    public static final int RULE_REGEX_DIGIT=8;
    public static final int T__59=59;
    public static final int RULE_INT=15;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int T__45=45;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int RULE_REGEX_STRING=7;
    public static final int RULE_IDENTIFIER=5;
    public static final int RULE_SL_COMMENT=16;
    public static final int RULE_ML_COMMENT=12;
    public static final int RULE_REGEX_CARDINALITY=9;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int RULE_STRING=11;
    public static final int T__32=32;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__70=70;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=13;

    // delegates
    // delegators


        public InternalGlaParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalGlaParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalGlaParser.tokenNames; }
    public String getGrammarFileName() { return "../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g"; }


     
     	private GlaGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(GlaGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleFile"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:60:1: entryRuleFile : ruleFile EOF ;
    public final void entryRuleFile() throws RecognitionException {

        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT");

        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:64:1: ( ruleFile EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:65:1: ruleFile EOF
            {
             before(grammarAccess.getFileRule()); 
            pushFollow(FOLLOW_ruleFile_in_entryRuleFile66);
            ruleFile();

            state._fsp--;

             after(grammarAccess.getFileRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFile73); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	myHiddenTokenState.restore();

        }
        return ;
    }
    // $ANTLR end "entryRuleFile"


    // $ANTLR start "ruleFile"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:75:1: ruleFile : ( ( rule__File__SpecificationsAssignment )* ) ;
    public final void ruleFile() throws RecognitionException {

        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT");
        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:80:2: ( ( ( rule__File__SpecificationsAssignment )* ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:81:1: ( ( rule__File__SpecificationsAssignment )* )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:81:1: ( ( rule__File__SpecificationsAssignment )* )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:82:1: ( rule__File__SpecificationsAssignment )*
            {
             before(grammarAccess.getFileAccess().getSpecificationsAssignment()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:83:1: ( rule__File__SpecificationsAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>=RULE_REGEX && LA1_0<=RULE_IDENTIFIER)||(LA1_0>=18 && LA1_0<=42)) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:83:2: rule__File__SpecificationsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__File__SpecificationsAssignment_in_ruleFile103);
            	    rule__File__SpecificationsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getFileAccess().getSpecificationsAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);
            	myHiddenTokenState.restore();

        }
        return ;
    }
    // $ANTLR end "ruleFile"


    // $ANTLR start "entryRuleSpecification"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:96:1: entryRuleSpecification : ruleSpecification EOF ;
    public final void entryRuleSpecification() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:97:1: ( ruleSpecification EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:98:1: ruleSpecification EOF
            {
             before(grammarAccess.getSpecificationRule()); 
            pushFollow(FOLLOW_ruleSpecification_in_entryRuleSpecification131);
            ruleSpecification();

            state._fsp--;

             after(grammarAccess.getSpecificationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSpecification138); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSpecification"


    // $ANTLR start "ruleSpecification"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:105:1: ruleSpecification : ( ( rule__Specification__Group__0 ) ) ;
    public final void ruleSpecification() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:109:2: ( ( ( rule__Specification__Group__0 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:110:1: ( ( rule__Specification__Group__0 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:110:1: ( ( rule__Specification__Group__0 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:111:1: ( rule__Specification__Group__0 )
            {
             before(grammarAccess.getSpecificationAccess().getGroup()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:112:1: ( rule__Specification__Group__0 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:112:2: rule__Specification__Group__0
            {
            pushFollow(FOLLOW_rule__Specification__Group__0_in_ruleSpecification164);
            rule__Specification__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSpecificationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSpecification"


    // $ANTLR start "entryRulePattern"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:124:1: entryRulePattern : rulePattern EOF ;
    public final void entryRulePattern() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:125:1: ( rulePattern EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:126:1: rulePattern EOF
            {
             before(grammarAccess.getPatternRule()); 
            pushFollow(FOLLOW_rulePattern_in_entryRulePattern191);
            rulePattern();

            state._fsp--;

             after(grammarAccess.getPatternRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePattern198); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePattern"


    // $ANTLR start "rulePattern"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:133:1: rulePattern : ( ( rule__Pattern__Alternatives ) ) ;
    public final void rulePattern() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:137:2: ( ( ( rule__Pattern__Alternatives ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:138:1: ( ( rule__Pattern__Alternatives ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:138:1: ( ( rule__Pattern__Alternatives ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:139:1: ( rule__Pattern__Alternatives )
            {
             before(grammarAccess.getPatternAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:140:1: ( rule__Pattern__Alternatives )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:140:2: rule__Pattern__Alternatives
            {
            pushFollow(FOLLOW_rule__Pattern__Alternatives_in_rulePattern224);
            rule__Pattern__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getPatternAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePattern"


    // $ANTLR start "entryRuleCannedExpression"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:152:1: entryRuleCannedExpression : ruleCannedExpression EOF ;
    public final void entryRuleCannedExpression() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:153:1: ( ruleCannedExpression EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:154:1: ruleCannedExpression EOF
            {
             before(grammarAccess.getCannedExpressionRule()); 
            pushFollow(FOLLOW_ruleCannedExpression_in_entryRuleCannedExpression251);
            ruleCannedExpression();

            state._fsp--;

             after(grammarAccess.getCannedExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCannedExpression258); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCannedExpression"


    // $ANTLR start "ruleCannedExpression"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:161:1: ruleCannedExpression : ( ( rule__CannedExpression__ValueAssignment ) ) ;
    public final void ruleCannedExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:165:2: ( ( ( rule__CannedExpression__ValueAssignment ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:166:1: ( ( rule__CannedExpression__ValueAssignment ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:166:1: ( ( rule__CannedExpression__ValueAssignment ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:167:1: ( rule__CannedExpression__ValueAssignment )
            {
             before(grammarAccess.getCannedExpressionAccess().getValueAssignment()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:168:1: ( rule__CannedExpression__ValueAssignment )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:168:2: rule__CannedExpression__ValueAssignment
            {
            pushFollow(FOLLOW_rule__CannedExpression__ValueAssignment_in_ruleCannedExpression284);
            rule__CannedExpression__ValueAssignment();

            state._fsp--;


            }

             after(grammarAccess.getCannedExpressionAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCannedExpression"


    // $ANTLR start "entryRuleRegularExpression"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:180:1: entryRuleRegularExpression : ruleRegularExpression EOF ;
    public final void entryRuleRegularExpression() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:181:1: ( ruleRegularExpression EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:182:1: ruleRegularExpression EOF
            {
             before(grammarAccess.getRegularExpressionRule()); 
            pushFollow(FOLLOW_ruleRegularExpression_in_entryRuleRegularExpression311);
            ruleRegularExpression();

            state._fsp--;

             after(grammarAccess.getRegularExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRegularExpression318); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRegularExpression"


    // $ANTLR start "ruleRegularExpression"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:189:1: ruleRegularExpression : ( ( rule__RegularExpression__ValueAssignment ) ) ;
    public final void ruleRegularExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:193:2: ( ( ( rule__RegularExpression__ValueAssignment ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:194:1: ( ( rule__RegularExpression__ValueAssignment ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:194:1: ( ( rule__RegularExpression__ValueAssignment ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:195:1: ( rule__RegularExpression__ValueAssignment )
            {
             before(grammarAccess.getRegularExpressionAccess().getValueAssignment()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:196:1: ( rule__RegularExpression__ValueAssignment )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:196:2: rule__RegularExpression__ValueAssignment
            {
            pushFollow(FOLLOW_rule__RegularExpression__ValueAssignment_in_ruleRegularExpression344);
            rule__RegularExpression__ValueAssignment();

            state._fsp--;


            }

             after(grammarAccess.getRegularExpressionAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRegularExpression"


    // $ANTLR start "entryRuleTokenName"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:208:1: entryRuleTokenName : ruleTokenName EOF ;
    public final void entryRuleTokenName() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:209:1: ( ruleTokenName EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:210:1: ruleTokenName EOF
            {
             before(grammarAccess.getTokenNameRule()); 
            pushFollow(FOLLOW_ruleTokenName_in_entryRuleTokenName371);
            ruleTokenName();

            state._fsp--;

             after(grammarAccess.getTokenNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTokenName378); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTokenName"


    // $ANTLR start "ruleTokenName"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:217:1: ruleTokenName : ( ( rule__TokenName__NameAssignment ) ) ;
    public final void ruleTokenName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:221:2: ( ( ( rule__TokenName__NameAssignment ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:222:1: ( ( rule__TokenName__NameAssignment ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:222:1: ( ( rule__TokenName__NameAssignment ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:223:1: ( rule__TokenName__NameAssignment )
            {
             before(grammarAccess.getTokenNameAccess().getNameAssignment()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:224:1: ( rule__TokenName__NameAssignment )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:224:2: rule__TokenName__NameAssignment
            {
            pushFollow(FOLLOW_rule__TokenName__NameAssignment_in_ruleTokenName404);
            rule__TokenName__NameAssignment();

            state._fsp--;


            }

             after(grammarAccess.getTokenNameAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTokenName"


    // $ANTLR start "entryRuleAuxiliaryScannerName"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:236:1: entryRuleAuxiliaryScannerName : ruleAuxiliaryScannerName EOF ;
    public final void entryRuleAuxiliaryScannerName() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:237:1: ( ruleAuxiliaryScannerName EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:238:1: ruleAuxiliaryScannerName EOF
            {
             before(grammarAccess.getAuxiliaryScannerNameRule()); 
            pushFollow(FOLLOW_ruleAuxiliaryScannerName_in_entryRuleAuxiliaryScannerName431);
            ruleAuxiliaryScannerName();

            state._fsp--;

             after(grammarAccess.getAuxiliaryScannerNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAuxiliaryScannerName438); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAuxiliaryScannerName"


    // $ANTLR start "ruleAuxiliaryScannerName"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:245:1: ruleAuxiliaryScannerName : ( ( rule__AuxiliaryScannerName__ValueAssignment ) ) ;
    public final void ruleAuxiliaryScannerName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:249:2: ( ( ( rule__AuxiliaryScannerName__ValueAssignment ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:250:1: ( ( rule__AuxiliaryScannerName__ValueAssignment ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:250:1: ( ( rule__AuxiliaryScannerName__ValueAssignment ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:251:1: ( rule__AuxiliaryScannerName__ValueAssignment )
            {
             before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAssignment()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:252:1: ( rule__AuxiliaryScannerName__ValueAssignment )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:252:2: rule__AuxiliaryScannerName__ValueAssignment
            {
            pushFollow(FOLLOW_rule__AuxiliaryScannerName__ValueAssignment_in_ruleAuxiliaryScannerName464);
            rule__AuxiliaryScannerName__ValueAssignment();

            state._fsp--;


            }

             after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAuxiliaryScannerName"


    // $ANTLR start "entryRuleTokenProcessorName"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:264:1: entryRuleTokenProcessorName : ruleTokenProcessorName EOF ;
    public final void entryRuleTokenProcessorName() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:265:1: ( ruleTokenProcessorName EOF )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:266:1: ruleTokenProcessorName EOF
            {
             before(grammarAccess.getTokenProcessorNameRule()); 
            pushFollow(FOLLOW_ruleTokenProcessorName_in_entryRuleTokenProcessorName491);
            ruleTokenProcessorName();

            state._fsp--;

             after(grammarAccess.getTokenProcessorNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTokenProcessorName498); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTokenProcessorName"


    // $ANTLR start "ruleTokenProcessorName"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:273:1: ruleTokenProcessorName : ( ( rule__TokenProcessorName__ValueAssignment ) ) ;
    public final void ruleTokenProcessorName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:277:2: ( ( ( rule__TokenProcessorName__ValueAssignment ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:278:1: ( ( rule__TokenProcessorName__ValueAssignment ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:278:1: ( ( rule__TokenProcessorName__ValueAssignment ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:279:1: ( rule__TokenProcessorName__ValueAssignment )
            {
             before(grammarAccess.getTokenProcessorNameAccess().getValueAssignment()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:280:1: ( rule__TokenProcessorName__ValueAssignment )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:280:2: rule__TokenProcessorName__ValueAssignment
            {
            pushFollow(FOLLOW_rule__TokenProcessorName__ValueAssignment_in_ruleTokenProcessorName524);
            rule__TokenProcessorName__ValueAssignment();

            state._fsp--;


            }

             after(grammarAccess.getTokenProcessorNameAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTokenProcessorName"


    // $ANTLR start "rule__Pattern__Alternatives"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:292:1: rule__Pattern__Alternatives : ( ( ruleCannedExpression ) | ( ruleRegularExpression ) );
    public final void rule__Pattern__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:296:1: ( ( ruleCannedExpression ) | ( ruleRegularExpression ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( ((LA2_0>=18 && LA2_0<=42)) ) {
                alt2=1;
            }
            else if ( (LA2_0==RULE_REGEX) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:297:1: ( ruleCannedExpression )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:297:1: ( ruleCannedExpression )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:298:1: ruleCannedExpression
                    {
                     before(grammarAccess.getPatternAccess().getCannedExpressionParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleCannedExpression_in_rule__Pattern__Alternatives560);
                    ruleCannedExpression();

                    state._fsp--;

                     after(grammarAccess.getPatternAccess().getCannedExpressionParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:303:6: ( ruleRegularExpression )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:303:6: ( ruleRegularExpression )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:304:1: ruleRegularExpression
                    {
                     before(grammarAccess.getPatternAccess().getRegularExpressionParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleRegularExpression_in_rule__Pattern__Alternatives577);
                    ruleRegularExpression();

                    state._fsp--;

                     after(grammarAccess.getPatternAccess().getRegularExpressionParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Pattern__Alternatives"


    // $ANTLR start "rule__CannedExpression__ValueAlternatives_0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:314:1: rule__CannedExpression__ValueAlternatives_0 : ( ( 'ADA_COMMENT' ) | ( 'ADA_IDENTIFIER' ) | ( 'AWK_COMMENT' ) | ( 'C_COMMENT' ) | ( 'C_CHAR_CONSTANT' ) | ( 'C_FLOAT' ) | ( 'C_IDENTIFIER' ) | ( 'C_INTEGER' ) | ( 'C_INT_DENOTATION' ) | ( 'C_STRING_LIT' ) | ( 'MODULA_INTEGER' ) | ( 'MODULA2_COMMENT' ) | ( 'MODULA3_COMMENT' ) | ( 'MODULA2_CHARINT' ) | ( 'MODULA2_INTEGER' ) | ( 'MODULA2_LITERALDQ' ) | ( 'MODULA2_LITERALSQ' ) | ( 'PASCAL_COMMENT' ) | ( 'PASCAL_IDENTIFIER' ) | ( 'PASCAL_INTEGER' ) | ( 'PASCAL_REAL' ) | ( 'PASCAL_STRING' ) | ( 'SPACES' ) | ( 'TAB' ) | ( 'NEW_LINE' ) );
    public final void rule__CannedExpression__ValueAlternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:318:1: ( ( 'ADA_COMMENT' ) | ( 'ADA_IDENTIFIER' ) | ( 'AWK_COMMENT' ) | ( 'C_COMMENT' ) | ( 'C_CHAR_CONSTANT' ) | ( 'C_FLOAT' ) | ( 'C_IDENTIFIER' ) | ( 'C_INTEGER' ) | ( 'C_INT_DENOTATION' ) | ( 'C_STRING_LIT' ) | ( 'MODULA_INTEGER' ) | ( 'MODULA2_COMMENT' ) | ( 'MODULA3_COMMENT' ) | ( 'MODULA2_CHARINT' ) | ( 'MODULA2_INTEGER' ) | ( 'MODULA2_LITERALDQ' ) | ( 'MODULA2_LITERALSQ' ) | ( 'PASCAL_COMMENT' ) | ( 'PASCAL_IDENTIFIER' ) | ( 'PASCAL_INTEGER' ) | ( 'PASCAL_REAL' ) | ( 'PASCAL_STRING' ) | ( 'SPACES' ) | ( 'TAB' ) | ( 'NEW_LINE' ) )
            int alt3=25;
            switch ( input.LA(1) ) {
            case 18:
                {
                alt3=1;
                }
                break;
            case 19:
                {
                alt3=2;
                }
                break;
            case 20:
                {
                alt3=3;
                }
                break;
            case 21:
                {
                alt3=4;
                }
                break;
            case 22:
                {
                alt3=5;
                }
                break;
            case 23:
                {
                alt3=6;
                }
                break;
            case 24:
                {
                alt3=7;
                }
                break;
            case 25:
                {
                alt3=8;
                }
                break;
            case 26:
                {
                alt3=9;
                }
                break;
            case 27:
                {
                alt3=10;
                }
                break;
            case 28:
                {
                alt3=11;
                }
                break;
            case 29:
                {
                alt3=12;
                }
                break;
            case 30:
                {
                alt3=13;
                }
                break;
            case 31:
                {
                alt3=14;
                }
                break;
            case 32:
                {
                alt3=15;
                }
                break;
            case 33:
                {
                alt3=16;
                }
                break;
            case 34:
                {
                alt3=17;
                }
                break;
            case 35:
                {
                alt3=18;
                }
                break;
            case 36:
                {
                alt3=19;
                }
                break;
            case 37:
                {
                alt3=20;
                }
                break;
            case 38:
                {
                alt3=21;
                }
                break;
            case 39:
                {
                alt3=22;
                }
                break;
            case 40:
                {
                alt3=23;
                }
                break;
            case 41:
                {
                alt3=24;
                }
                break;
            case 42:
                {
                alt3=25;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:319:1: ( 'ADA_COMMENT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:319:1: ( 'ADA_COMMENT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:320:1: 'ADA_COMMENT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueADA_COMMENTKeyword_0_0()); 
                    match(input,18,FOLLOW_18_in_rule__CannedExpression__ValueAlternatives_0610); 
                     after(grammarAccess.getCannedExpressionAccess().getValueADA_COMMENTKeyword_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:327:6: ( 'ADA_IDENTIFIER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:327:6: ( 'ADA_IDENTIFIER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:328:1: 'ADA_IDENTIFIER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueADA_IDENTIFIERKeyword_0_1()); 
                    match(input,19,FOLLOW_19_in_rule__CannedExpression__ValueAlternatives_0630); 
                     after(grammarAccess.getCannedExpressionAccess().getValueADA_IDENTIFIERKeyword_0_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:335:6: ( 'AWK_COMMENT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:335:6: ( 'AWK_COMMENT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:336:1: 'AWK_COMMENT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueAWK_COMMENTKeyword_0_2()); 
                    match(input,20,FOLLOW_20_in_rule__CannedExpression__ValueAlternatives_0650); 
                     after(grammarAccess.getCannedExpressionAccess().getValueAWK_COMMENTKeyword_0_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:343:6: ( 'C_COMMENT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:343:6: ( 'C_COMMENT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:344:1: 'C_COMMENT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_COMMENTKeyword_0_3()); 
                    match(input,21,FOLLOW_21_in_rule__CannedExpression__ValueAlternatives_0670); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_COMMENTKeyword_0_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:351:6: ( 'C_CHAR_CONSTANT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:351:6: ( 'C_CHAR_CONSTANT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:352:1: 'C_CHAR_CONSTANT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_CHAR_CONSTANTKeyword_0_4()); 
                    match(input,22,FOLLOW_22_in_rule__CannedExpression__ValueAlternatives_0690); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_CHAR_CONSTANTKeyword_0_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:359:6: ( 'C_FLOAT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:359:6: ( 'C_FLOAT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:360:1: 'C_FLOAT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_FLOATKeyword_0_5()); 
                    match(input,23,FOLLOW_23_in_rule__CannedExpression__ValueAlternatives_0710); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_FLOATKeyword_0_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:367:6: ( 'C_IDENTIFIER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:367:6: ( 'C_IDENTIFIER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:368:1: 'C_IDENTIFIER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_IDENTIFIERKeyword_0_6()); 
                    match(input,24,FOLLOW_24_in_rule__CannedExpression__ValueAlternatives_0730); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_IDENTIFIERKeyword_0_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:375:6: ( 'C_INTEGER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:375:6: ( 'C_INTEGER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:376:1: 'C_INTEGER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_INTEGERKeyword_0_7()); 
                    match(input,25,FOLLOW_25_in_rule__CannedExpression__ValueAlternatives_0750); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_INTEGERKeyword_0_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:383:6: ( 'C_INT_DENOTATION' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:383:6: ( 'C_INT_DENOTATION' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:384:1: 'C_INT_DENOTATION'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_INT_DENOTATIONKeyword_0_8()); 
                    match(input,26,FOLLOW_26_in_rule__CannedExpression__ValueAlternatives_0770); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_INT_DENOTATIONKeyword_0_8()); 

                    }


                    }
                    break;
                case 10 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:391:6: ( 'C_STRING_LIT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:391:6: ( 'C_STRING_LIT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:392:1: 'C_STRING_LIT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueC_STRING_LITKeyword_0_9()); 
                    match(input,27,FOLLOW_27_in_rule__CannedExpression__ValueAlternatives_0790); 
                     after(grammarAccess.getCannedExpressionAccess().getValueC_STRING_LITKeyword_0_9()); 

                    }


                    }
                    break;
                case 11 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:399:6: ( 'MODULA_INTEGER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:399:6: ( 'MODULA_INTEGER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:400:1: 'MODULA_INTEGER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA_INTEGERKeyword_0_10()); 
                    match(input,28,FOLLOW_28_in_rule__CannedExpression__ValueAlternatives_0810); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA_INTEGERKeyword_0_10()); 

                    }


                    }
                    break;
                case 12 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:407:6: ( 'MODULA2_COMMENT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:407:6: ( 'MODULA2_COMMENT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:408:1: 'MODULA2_COMMENT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA2_COMMENTKeyword_0_11()); 
                    match(input,29,FOLLOW_29_in_rule__CannedExpression__ValueAlternatives_0830); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA2_COMMENTKeyword_0_11()); 

                    }


                    }
                    break;
                case 13 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:415:6: ( 'MODULA3_COMMENT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:415:6: ( 'MODULA3_COMMENT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:416:1: 'MODULA3_COMMENT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA3_COMMENTKeyword_0_12()); 
                    match(input,30,FOLLOW_30_in_rule__CannedExpression__ValueAlternatives_0850); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA3_COMMENTKeyword_0_12()); 

                    }


                    }
                    break;
                case 14 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:423:6: ( 'MODULA2_CHARINT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:423:6: ( 'MODULA2_CHARINT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:424:1: 'MODULA2_CHARINT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA2_CHARINTKeyword_0_13()); 
                    match(input,31,FOLLOW_31_in_rule__CannedExpression__ValueAlternatives_0870); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA2_CHARINTKeyword_0_13()); 

                    }


                    }
                    break;
                case 15 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:431:6: ( 'MODULA2_INTEGER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:431:6: ( 'MODULA2_INTEGER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:432:1: 'MODULA2_INTEGER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA2_INTEGERKeyword_0_14()); 
                    match(input,32,FOLLOW_32_in_rule__CannedExpression__ValueAlternatives_0890); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA2_INTEGERKeyword_0_14()); 

                    }


                    }
                    break;
                case 16 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:439:6: ( 'MODULA2_LITERALDQ' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:439:6: ( 'MODULA2_LITERALDQ' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:440:1: 'MODULA2_LITERALDQ'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA2_LITERALDQKeyword_0_15()); 
                    match(input,33,FOLLOW_33_in_rule__CannedExpression__ValueAlternatives_0910); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA2_LITERALDQKeyword_0_15()); 

                    }


                    }
                    break;
                case 17 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:447:6: ( 'MODULA2_LITERALSQ' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:447:6: ( 'MODULA2_LITERALSQ' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:448:1: 'MODULA2_LITERALSQ'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueMODULA2_LITERALSQKeyword_0_16()); 
                    match(input,34,FOLLOW_34_in_rule__CannedExpression__ValueAlternatives_0930); 
                     after(grammarAccess.getCannedExpressionAccess().getValueMODULA2_LITERALSQKeyword_0_16()); 

                    }


                    }
                    break;
                case 18 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:455:6: ( 'PASCAL_COMMENT' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:455:6: ( 'PASCAL_COMMENT' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:456:1: 'PASCAL_COMMENT'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValuePASCAL_COMMENTKeyword_0_17()); 
                    match(input,35,FOLLOW_35_in_rule__CannedExpression__ValueAlternatives_0950); 
                     after(grammarAccess.getCannedExpressionAccess().getValuePASCAL_COMMENTKeyword_0_17()); 

                    }


                    }
                    break;
                case 19 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:463:6: ( 'PASCAL_IDENTIFIER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:463:6: ( 'PASCAL_IDENTIFIER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:464:1: 'PASCAL_IDENTIFIER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValuePASCAL_IDENTIFIERKeyword_0_18()); 
                    match(input,36,FOLLOW_36_in_rule__CannedExpression__ValueAlternatives_0970); 
                     after(grammarAccess.getCannedExpressionAccess().getValuePASCAL_IDENTIFIERKeyword_0_18()); 

                    }


                    }
                    break;
                case 20 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:471:6: ( 'PASCAL_INTEGER' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:471:6: ( 'PASCAL_INTEGER' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:472:1: 'PASCAL_INTEGER'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValuePASCAL_INTEGERKeyword_0_19()); 
                    match(input,37,FOLLOW_37_in_rule__CannedExpression__ValueAlternatives_0990); 
                     after(grammarAccess.getCannedExpressionAccess().getValuePASCAL_INTEGERKeyword_0_19()); 

                    }


                    }
                    break;
                case 21 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:479:6: ( 'PASCAL_REAL' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:479:6: ( 'PASCAL_REAL' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:480:1: 'PASCAL_REAL'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValuePASCAL_REALKeyword_0_20()); 
                    match(input,38,FOLLOW_38_in_rule__CannedExpression__ValueAlternatives_01010); 
                     after(grammarAccess.getCannedExpressionAccess().getValuePASCAL_REALKeyword_0_20()); 

                    }


                    }
                    break;
                case 22 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:487:6: ( 'PASCAL_STRING' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:487:6: ( 'PASCAL_STRING' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:488:1: 'PASCAL_STRING'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValuePASCAL_STRINGKeyword_0_21()); 
                    match(input,39,FOLLOW_39_in_rule__CannedExpression__ValueAlternatives_01030); 
                     after(grammarAccess.getCannedExpressionAccess().getValuePASCAL_STRINGKeyword_0_21()); 

                    }


                    }
                    break;
                case 23 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:495:6: ( 'SPACES' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:495:6: ( 'SPACES' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:496:1: 'SPACES'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueSPACESKeyword_0_22()); 
                    match(input,40,FOLLOW_40_in_rule__CannedExpression__ValueAlternatives_01050); 
                     after(grammarAccess.getCannedExpressionAccess().getValueSPACESKeyword_0_22()); 

                    }


                    }
                    break;
                case 24 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:503:6: ( 'TAB' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:503:6: ( 'TAB' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:504:1: 'TAB'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueTABKeyword_0_23()); 
                    match(input,41,FOLLOW_41_in_rule__CannedExpression__ValueAlternatives_01070); 
                     after(grammarAccess.getCannedExpressionAccess().getValueTABKeyword_0_23()); 

                    }


                    }
                    break;
                case 25 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:511:6: ( 'NEW_LINE' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:511:6: ( 'NEW_LINE' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:512:1: 'NEW_LINE'
                    {
                     before(grammarAccess.getCannedExpressionAccess().getValueNEW_LINEKeyword_0_24()); 
                    match(input,42,FOLLOW_42_in_rule__CannedExpression__ValueAlternatives_01090); 
                     after(grammarAccess.getCannedExpressionAccess().getValueNEW_LINEKeyword_0_24()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CannedExpression__ValueAlternatives_0"


    // $ANTLR start "rule__AuxiliaryScannerName__ValueAlternatives_0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:524:1: rule__AuxiliaryScannerName__ValueAlternatives_0 : ( ( 'auxEOF' ) | ( 'coordAdjust' ) | ( 'auxNewLine' ) | ( 'auxTab' ) | ( 'auxEOL' ) | ( 'auxPascalString' ) | ( 'auxPascalComment' ) | ( 'auxNoEOL' ) | ( 'auxCString' ) | ( 'auxCChar' ) | ( 'auxCComment' ) | ( 'auxM2String' ) | ( 'auxM3Comment' ) | ( 'Ctext' ) );
    public final void rule__AuxiliaryScannerName__ValueAlternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:528:1: ( ( 'auxEOF' ) | ( 'coordAdjust' ) | ( 'auxNewLine' ) | ( 'auxTab' ) | ( 'auxEOL' ) | ( 'auxPascalString' ) | ( 'auxPascalComment' ) | ( 'auxNoEOL' ) | ( 'auxCString' ) | ( 'auxCChar' ) | ( 'auxCComment' ) | ( 'auxM2String' ) | ( 'auxM3Comment' ) | ( 'Ctext' ) )
            int alt4=14;
            switch ( input.LA(1) ) {
            case 43:
                {
                alt4=1;
                }
                break;
            case 44:
                {
                alt4=2;
                }
                break;
            case 45:
                {
                alt4=3;
                }
                break;
            case 46:
                {
                alt4=4;
                }
                break;
            case 47:
                {
                alt4=5;
                }
                break;
            case 48:
                {
                alt4=6;
                }
                break;
            case 49:
                {
                alt4=7;
                }
                break;
            case 50:
                {
                alt4=8;
                }
                break;
            case 51:
                {
                alt4=9;
                }
                break;
            case 52:
                {
                alt4=10;
                }
                break;
            case 53:
                {
                alt4=11;
                }
                break;
            case 54:
                {
                alt4=12;
                }
                break;
            case 55:
                {
                alt4=13;
                }
                break;
            case 56:
                {
                alt4=14;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:529:1: ( 'auxEOF' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:529:1: ( 'auxEOF' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:530:1: 'auxEOF'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxEOFKeyword_0_0()); 
                    match(input,43,FOLLOW_43_in_rule__AuxiliaryScannerName__ValueAlternatives_01125); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxEOFKeyword_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:537:6: ( 'coordAdjust' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:537:6: ( 'coordAdjust' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:538:1: 'coordAdjust'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueCoordAdjustKeyword_0_1()); 
                    match(input,44,FOLLOW_44_in_rule__AuxiliaryScannerName__ValueAlternatives_01145); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueCoordAdjustKeyword_0_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:545:6: ( 'auxNewLine' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:545:6: ( 'auxNewLine' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:546:1: 'auxNewLine'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxNewLineKeyword_0_2()); 
                    match(input,45,FOLLOW_45_in_rule__AuxiliaryScannerName__ValueAlternatives_01165); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxNewLineKeyword_0_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:553:6: ( 'auxTab' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:553:6: ( 'auxTab' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:554:1: 'auxTab'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxTabKeyword_0_3()); 
                    match(input,46,FOLLOW_46_in_rule__AuxiliaryScannerName__ValueAlternatives_01185); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxTabKeyword_0_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:561:6: ( 'auxEOL' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:561:6: ( 'auxEOL' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:562:1: 'auxEOL'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxEOLKeyword_0_4()); 
                    match(input,47,FOLLOW_47_in_rule__AuxiliaryScannerName__ValueAlternatives_01205); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxEOLKeyword_0_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:569:6: ( 'auxPascalString' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:569:6: ( 'auxPascalString' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:570:1: 'auxPascalString'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxPascalStringKeyword_0_5()); 
                    match(input,48,FOLLOW_48_in_rule__AuxiliaryScannerName__ValueAlternatives_01225); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxPascalStringKeyword_0_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:577:6: ( 'auxPascalComment' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:577:6: ( 'auxPascalComment' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:578:1: 'auxPascalComment'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxPascalCommentKeyword_0_6()); 
                    match(input,49,FOLLOW_49_in_rule__AuxiliaryScannerName__ValueAlternatives_01245); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxPascalCommentKeyword_0_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:585:6: ( 'auxNoEOL' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:585:6: ( 'auxNoEOL' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:586:1: 'auxNoEOL'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxNoEOLKeyword_0_7()); 
                    match(input,50,FOLLOW_50_in_rule__AuxiliaryScannerName__ValueAlternatives_01265); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxNoEOLKeyword_0_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:593:6: ( 'auxCString' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:593:6: ( 'auxCString' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:594:1: 'auxCString'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxCStringKeyword_0_8()); 
                    match(input,51,FOLLOW_51_in_rule__AuxiliaryScannerName__ValueAlternatives_01285); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxCStringKeyword_0_8()); 

                    }


                    }
                    break;
                case 10 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:601:6: ( 'auxCChar' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:601:6: ( 'auxCChar' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:602:1: 'auxCChar'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxCCharKeyword_0_9()); 
                    match(input,52,FOLLOW_52_in_rule__AuxiliaryScannerName__ValueAlternatives_01305); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxCCharKeyword_0_9()); 

                    }


                    }
                    break;
                case 11 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:609:6: ( 'auxCComment' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:609:6: ( 'auxCComment' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:610:1: 'auxCComment'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxCCommentKeyword_0_10()); 
                    match(input,53,FOLLOW_53_in_rule__AuxiliaryScannerName__ValueAlternatives_01325); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxCCommentKeyword_0_10()); 

                    }


                    }
                    break;
                case 12 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:617:6: ( 'auxM2String' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:617:6: ( 'auxM2String' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:618:1: 'auxM2String'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxM2StringKeyword_0_11()); 
                    match(input,54,FOLLOW_54_in_rule__AuxiliaryScannerName__ValueAlternatives_01345); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxM2StringKeyword_0_11()); 

                    }


                    }
                    break;
                case 13 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:625:6: ( 'auxM3Comment' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:625:6: ( 'auxM3Comment' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:626:1: 'auxM3Comment'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxM3CommentKeyword_0_12()); 
                    match(input,55,FOLLOW_55_in_rule__AuxiliaryScannerName__ValueAlternatives_01365); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAuxM3CommentKeyword_0_12()); 

                    }


                    }
                    break;
                case 14 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:633:6: ( 'Ctext' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:633:6: ( 'Ctext' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:634:1: 'Ctext'
                    {
                     before(grammarAccess.getAuxiliaryScannerNameAccess().getValueCtextKeyword_0_13()); 
                    match(input,56,FOLLOW_56_in_rule__AuxiliaryScannerName__ValueAlternatives_01385); 
                     after(grammarAccess.getAuxiliaryScannerNameAccess().getValueCtextKeyword_0_13()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AuxiliaryScannerName__ValueAlternatives_0"


    // $ANTLR start "rule__TokenProcessorName__ValueAlternatives_0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:646:1: rule__TokenProcessorName__ValueAlternatives_0 : ( ( 'c_mkchar' ) | ( 'c_mkint' ) | ( 'c_mkstr' ) | ( 'EndOfText' ) | ( 'lexerr' ) | ( 'mkidn' ) | ( 'mkint' ) | ( 'mkstr' ) | ( 'modula_mkint' ) );
    public final void rule__TokenProcessorName__ValueAlternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:650:1: ( ( 'c_mkchar' ) | ( 'c_mkint' ) | ( 'c_mkstr' ) | ( 'EndOfText' ) | ( 'lexerr' ) | ( 'mkidn' ) | ( 'mkint' ) | ( 'mkstr' ) | ( 'modula_mkint' ) )
            int alt5=9;
            switch ( input.LA(1) ) {
            case 57:
                {
                alt5=1;
                }
                break;
            case 58:
                {
                alt5=2;
                }
                break;
            case 59:
                {
                alt5=3;
                }
                break;
            case 60:
                {
                alt5=4;
                }
                break;
            case 61:
                {
                alt5=5;
                }
                break;
            case 62:
                {
                alt5=6;
                }
                break;
            case 63:
                {
                alt5=7;
                }
                break;
            case 64:
                {
                alt5=8;
                }
                break;
            case 65:
                {
                alt5=9;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:651:1: ( 'c_mkchar' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:651:1: ( 'c_mkchar' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:652:1: 'c_mkchar'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueC_mkcharKeyword_0_0()); 
                    match(input,57,FOLLOW_57_in_rule__TokenProcessorName__ValueAlternatives_01420); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueC_mkcharKeyword_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:659:6: ( 'c_mkint' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:659:6: ( 'c_mkint' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:660:1: 'c_mkint'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueC_mkintKeyword_0_1()); 
                    match(input,58,FOLLOW_58_in_rule__TokenProcessorName__ValueAlternatives_01440); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueC_mkintKeyword_0_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:667:6: ( 'c_mkstr' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:667:6: ( 'c_mkstr' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:668:1: 'c_mkstr'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueC_mkstrKeyword_0_2()); 
                    match(input,59,FOLLOW_59_in_rule__TokenProcessorName__ValueAlternatives_01460); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueC_mkstrKeyword_0_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:675:6: ( 'EndOfText' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:675:6: ( 'EndOfText' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:676:1: 'EndOfText'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueEndOfTextKeyword_0_3()); 
                    match(input,60,FOLLOW_60_in_rule__TokenProcessorName__ValueAlternatives_01480); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueEndOfTextKeyword_0_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:683:6: ( 'lexerr' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:683:6: ( 'lexerr' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:684:1: 'lexerr'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueLexerrKeyword_0_4()); 
                    match(input,61,FOLLOW_61_in_rule__TokenProcessorName__ValueAlternatives_01500); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueLexerrKeyword_0_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:691:6: ( 'mkidn' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:691:6: ( 'mkidn' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:692:1: 'mkidn'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueMkidnKeyword_0_5()); 
                    match(input,62,FOLLOW_62_in_rule__TokenProcessorName__ValueAlternatives_01520); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueMkidnKeyword_0_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:699:6: ( 'mkint' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:699:6: ( 'mkint' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:700:1: 'mkint'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueMkintKeyword_0_6()); 
                    match(input,63,FOLLOW_63_in_rule__TokenProcessorName__ValueAlternatives_01540); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueMkintKeyword_0_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:707:6: ( 'mkstr' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:707:6: ( 'mkstr' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:708:1: 'mkstr'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueMkstrKeyword_0_7()); 
                    match(input,64,FOLLOW_64_in_rule__TokenProcessorName__ValueAlternatives_01560); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueMkstrKeyword_0_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:715:6: ( 'modula_mkint' )
                    {
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:715:6: ( 'modula_mkint' )
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:716:1: 'modula_mkint'
                    {
                     before(grammarAccess.getTokenProcessorNameAccess().getValueModula_mkintKeyword_0_8()); 
                    match(input,65,FOLLOW_65_in_rule__TokenProcessorName__ValueAlternatives_01580); 
                     after(grammarAccess.getTokenProcessorNameAccess().getValueModula_mkintKeyword_0_8()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TokenProcessorName__ValueAlternatives_0"


    // $ANTLR start "rule__Specification__Group__0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:730:1: rule__Specification__Group__0 : rule__Specification__Group__0__Impl rule__Specification__Group__1 ;
    public final void rule__Specification__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:734:1: ( rule__Specification__Group__0__Impl rule__Specification__Group__1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:735:2: rule__Specification__Group__0__Impl rule__Specification__Group__1
            {
            pushFollow(FOLLOW_rule__Specification__Group__0__Impl_in_rule__Specification__Group__01612);
            rule__Specification__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group__1_in_rule__Specification__Group__01615);
            rule__Specification__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__0"


    // $ANTLR start "rule__Specification__Group__0__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:742:1: rule__Specification__Group__0__Impl : ( ( rule__Specification__Group_0__0 )? ) ;
    public final void rule__Specification__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:746:1: ( ( ( rule__Specification__Group_0__0 )? ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:747:1: ( ( rule__Specification__Group_0__0 )? )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:747:1: ( ( rule__Specification__Group_0__0 )? )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:748:1: ( rule__Specification__Group_0__0 )?
            {
             before(grammarAccess.getSpecificationAccess().getGroup_0()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:749:1: ( rule__Specification__Group_0__0 )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==RULE_IDENTIFIER) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:749:2: rule__Specification__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Specification__Group_0__0_in_rule__Specification__Group__0__Impl1642);
                    rule__Specification__Group_0__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSpecificationAccess().getGroup_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__0__Impl"


    // $ANTLR start "rule__Specification__Group__1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:759:1: rule__Specification__Group__1 : rule__Specification__Group__1__Impl rule__Specification__Group__2 ;
    public final void rule__Specification__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:763:1: ( rule__Specification__Group__1__Impl rule__Specification__Group__2 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:764:2: rule__Specification__Group__1__Impl rule__Specification__Group__2
            {
            pushFollow(FOLLOW_rule__Specification__Group__1__Impl_in_rule__Specification__Group__11673);
            rule__Specification__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group__2_in_rule__Specification__Group__11676);
            rule__Specification__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__1"


    // $ANTLR start "rule__Specification__Group__1__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:771:1: rule__Specification__Group__1__Impl : ( ( rule__Specification__PatternAssignment_1 ) ) ;
    public final void rule__Specification__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:775:1: ( ( ( rule__Specification__PatternAssignment_1 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:776:1: ( ( rule__Specification__PatternAssignment_1 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:776:1: ( ( rule__Specification__PatternAssignment_1 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:777:1: ( rule__Specification__PatternAssignment_1 )
            {
             before(grammarAccess.getSpecificationAccess().getPatternAssignment_1()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:778:1: ( rule__Specification__PatternAssignment_1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:778:2: rule__Specification__PatternAssignment_1
            {
            pushFollow(FOLLOW_rule__Specification__PatternAssignment_1_in_rule__Specification__Group__1__Impl1703);
            rule__Specification__PatternAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getSpecificationAccess().getPatternAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__1__Impl"


    // $ANTLR start "rule__Specification__Group__2"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:788:1: rule__Specification__Group__2 : rule__Specification__Group__2__Impl rule__Specification__Group__3 ;
    public final void rule__Specification__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:792:1: ( rule__Specification__Group__2__Impl rule__Specification__Group__3 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:793:2: rule__Specification__Group__2__Impl rule__Specification__Group__3
            {
            pushFollow(FOLLOW_rule__Specification__Group__2__Impl_in_rule__Specification__Group__21733);
            rule__Specification__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group__3_in_rule__Specification__Group__21736);
            rule__Specification__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__2"


    // $ANTLR start "rule__Specification__Group__2__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:800:1: rule__Specification__Group__2__Impl : ( ( rule__Specification__Group_2__0 )? ) ;
    public final void rule__Specification__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:804:1: ( ( ( rule__Specification__Group_2__0 )? ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:805:1: ( ( rule__Specification__Group_2__0 )? )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:805:1: ( ( rule__Specification__Group_2__0 )? )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:806:1: ( rule__Specification__Group_2__0 )?
            {
             before(grammarAccess.getSpecificationAccess().getGroup_2()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:807:1: ( rule__Specification__Group_2__0 )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==67) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:807:2: rule__Specification__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Specification__Group_2__0_in_rule__Specification__Group__2__Impl1763);
                    rule__Specification__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSpecificationAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__2__Impl"


    // $ANTLR start "rule__Specification__Group__3"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:817:1: rule__Specification__Group__3 : rule__Specification__Group__3__Impl ;
    public final void rule__Specification__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:821:1: ( rule__Specification__Group__3__Impl )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:822:2: rule__Specification__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Specification__Group__3__Impl_in_rule__Specification__Group__31794);
            rule__Specification__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__3"


    // $ANTLR start "rule__Specification__Group__3__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:828:1: rule__Specification__Group__3__Impl : ( ( rule__Specification__Group_3__0 )? ) ;
    public final void rule__Specification__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:832:1: ( ( ( rule__Specification__Group_3__0 )? ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:833:1: ( ( rule__Specification__Group_3__0 )? )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:833:1: ( ( rule__Specification__Group_3__0 )? )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:834:1: ( rule__Specification__Group_3__0 )?
            {
             before(grammarAccess.getSpecificationAccess().getGroup_3()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:835:1: ( rule__Specification__Group_3__0 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==69) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:835:2: rule__Specification__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Specification__Group_3__0_in_rule__Specification__Group__3__Impl1821);
                    rule__Specification__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSpecificationAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group__3__Impl"


    // $ANTLR start "rule__Specification__Group_0__0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:853:1: rule__Specification__Group_0__0 : rule__Specification__Group_0__0__Impl rule__Specification__Group_0__1 ;
    public final void rule__Specification__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:857:1: ( rule__Specification__Group_0__0__Impl rule__Specification__Group_0__1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:858:2: rule__Specification__Group_0__0__Impl rule__Specification__Group_0__1
            {
            pushFollow(FOLLOW_rule__Specification__Group_0__0__Impl_in_rule__Specification__Group_0__01860);
            rule__Specification__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group_0__1_in_rule__Specification__Group_0__01863);
            rule__Specification__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_0__0"


    // $ANTLR start "rule__Specification__Group_0__0__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:865:1: rule__Specification__Group_0__0__Impl : ( ruleTokenName ) ;
    public final void rule__Specification__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:869:1: ( ( ruleTokenName ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:870:1: ( ruleTokenName )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:870:1: ( ruleTokenName )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:871:1: ruleTokenName
            {
             before(grammarAccess.getSpecificationAccess().getTokenNameParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleTokenName_in_rule__Specification__Group_0__0__Impl1890);
            ruleTokenName();

            state._fsp--;

             after(grammarAccess.getSpecificationAccess().getTokenNameParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_0__0__Impl"


    // $ANTLR start "rule__Specification__Group_0__1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:882:1: rule__Specification__Group_0__1 : rule__Specification__Group_0__1__Impl ;
    public final void rule__Specification__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:886:1: ( rule__Specification__Group_0__1__Impl )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:887:2: rule__Specification__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__Specification__Group_0__1__Impl_in_rule__Specification__Group_0__11919);
            rule__Specification__Group_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_0__1"


    // $ANTLR start "rule__Specification__Group_0__1__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:893:1: rule__Specification__Group_0__1__Impl : ( ':' ) ;
    public final void rule__Specification__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:897:1: ( ( ':' ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:898:1: ( ':' )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:898:1: ( ':' )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:899:1: ':'
            {
             before(grammarAccess.getSpecificationAccess().getColonKeyword_0_1()); 
            match(input,66,FOLLOW_66_in_rule__Specification__Group_0__1__Impl1947); 
             after(grammarAccess.getSpecificationAccess().getColonKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_0__1__Impl"


    // $ANTLR start "rule__Specification__Group_2__0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:916:1: rule__Specification__Group_2__0 : rule__Specification__Group_2__0__Impl rule__Specification__Group_2__1 ;
    public final void rule__Specification__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:920:1: ( rule__Specification__Group_2__0__Impl rule__Specification__Group_2__1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:921:2: rule__Specification__Group_2__0__Impl rule__Specification__Group_2__1
            {
            pushFollow(FOLLOW_rule__Specification__Group_2__0__Impl_in_rule__Specification__Group_2__01982);
            rule__Specification__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group_2__1_in_rule__Specification__Group_2__01985);
            rule__Specification__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_2__0"


    // $ANTLR start "rule__Specification__Group_2__0__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:928:1: rule__Specification__Group_2__0__Impl : ( '(' ) ;
    public final void rule__Specification__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:932:1: ( ( '(' ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:933:1: ( '(' )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:933:1: ( '(' )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:934:1: '('
            {
             before(grammarAccess.getSpecificationAccess().getLeftParenthesisKeyword_2_0()); 
            match(input,67,FOLLOW_67_in_rule__Specification__Group_2__0__Impl2013); 
             after(grammarAccess.getSpecificationAccess().getLeftParenthesisKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_2__0__Impl"


    // $ANTLR start "rule__Specification__Group_2__1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:947:1: rule__Specification__Group_2__1 : rule__Specification__Group_2__1__Impl rule__Specification__Group_2__2 ;
    public final void rule__Specification__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:951:1: ( rule__Specification__Group_2__1__Impl rule__Specification__Group_2__2 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:952:2: rule__Specification__Group_2__1__Impl rule__Specification__Group_2__2
            {
            pushFollow(FOLLOW_rule__Specification__Group_2__1__Impl_in_rule__Specification__Group_2__12044);
            rule__Specification__Group_2__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group_2__2_in_rule__Specification__Group_2__12047);
            rule__Specification__Group_2__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_2__1"


    // $ANTLR start "rule__Specification__Group_2__1__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:959:1: rule__Specification__Group_2__1__Impl : ( ( rule__Specification__AuxiliaryScannerNameAssignment_2_1 ) ) ;
    public final void rule__Specification__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:963:1: ( ( ( rule__Specification__AuxiliaryScannerNameAssignment_2_1 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:964:1: ( ( rule__Specification__AuxiliaryScannerNameAssignment_2_1 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:964:1: ( ( rule__Specification__AuxiliaryScannerNameAssignment_2_1 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:965:1: ( rule__Specification__AuxiliaryScannerNameAssignment_2_1 )
            {
             before(grammarAccess.getSpecificationAccess().getAuxiliaryScannerNameAssignment_2_1()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:966:1: ( rule__Specification__AuxiliaryScannerNameAssignment_2_1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:966:2: rule__Specification__AuxiliaryScannerNameAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Specification__AuxiliaryScannerNameAssignment_2_1_in_rule__Specification__Group_2__1__Impl2074);
            rule__Specification__AuxiliaryScannerNameAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getSpecificationAccess().getAuxiliaryScannerNameAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_2__1__Impl"


    // $ANTLR start "rule__Specification__Group_2__2"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:976:1: rule__Specification__Group_2__2 : rule__Specification__Group_2__2__Impl ;
    public final void rule__Specification__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:980:1: ( rule__Specification__Group_2__2__Impl )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:981:2: rule__Specification__Group_2__2__Impl
            {
            pushFollow(FOLLOW_rule__Specification__Group_2__2__Impl_in_rule__Specification__Group_2__22104);
            rule__Specification__Group_2__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_2__2"


    // $ANTLR start "rule__Specification__Group_2__2__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:987:1: rule__Specification__Group_2__2__Impl : ( ')' ) ;
    public final void rule__Specification__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:991:1: ( ( ')' ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:992:1: ( ')' )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:992:1: ( ')' )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:993:1: ')'
            {
             before(grammarAccess.getSpecificationAccess().getRightParenthesisKeyword_2_2()); 
            match(input,68,FOLLOW_68_in_rule__Specification__Group_2__2__Impl2132); 
             after(grammarAccess.getSpecificationAccess().getRightParenthesisKeyword_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_2__2__Impl"


    // $ANTLR start "rule__Specification__Group_3__0"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1012:1: rule__Specification__Group_3__0 : rule__Specification__Group_3__0__Impl rule__Specification__Group_3__1 ;
    public final void rule__Specification__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1016:1: ( rule__Specification__Group_3__0__Impl rule__Specification__Group_3__1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1017:2: rule__Specification__Group_3__0__Impl rule__Specification__Group_3__1
            {
            pushFollow(FOLLOW_rule__Specification__Group_3__0__Impl_in_rule__Specification__Group_3__02169);
            rule__Specification__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group_3__1_in_rule__Specification__Group_3__02172);
            rule__Specification__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_3__0"


    // $ANTLR start "rule__Specification__Group_3__0__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1024:1: rule__Specification__Group_3__0__Impl : ( '[' ) ;
    public final void rule__Specification__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1028:1: ( ( '[' ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1029:1: ( '[' )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1029:1: ( '[' )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1030:1: '['
            {
             before(grammarAccess.getSpecificationAccess().getLeftSquareBracketKeyword_3_0()); 
            match(input,69,FOLLOW_69_in_rule__Specification__Group_3__0__Impl2200); 
             after(grammarAccess.getSpecificationAccess().getLeftSquareBracketKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_3__0__Impl"


    // $ANTLR start "rule__Specification__Group_3__1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1043:1: rule__Specification__Group_3__1 : rule__Specification__Group_3__1__Impl rule__Specification__Group_3__2 ;
    public final void rule__Specification__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1047:1: ( rule__Specification__Group_3__1__Impl rule__Specification__Group_3__2 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1048:2: rule__Specification__Group_3__1__Impl rule__Specification__Group_3__2
            {
            pushFollow(FOLLOW_rule__Specification__Group_3__1__Impl_in_rule__Specification__Group_3__12231);
            rule__Specification__Group_3__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Specification__Group_3__2_in_rule__Specification__Group_3__12234);
            rule__Specification__Group_3__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_3__1"


    // $ANTLR start "rule__Specification__Group_3__1__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1055:1: rule__Specification__Group_3__1__Impl : ( ( rule__Specification__TokenProcessorNameAssignment_3_1 ) ) ;
    public final void rule__Specification__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1059:1: ( ( ( rule__Specification__TokenProcessorNameAssignment_3_1 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1060:1: ( ( rule__Specification__TokenProcessorNameAssignment_3_1 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1060:1: ( ( rule__Specification__TokenProcessorNameAssignment_3_1 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1061:1: ( rule__Specification__TokenProcessorNameAssignment_3_1 )
            {
             before(grammarAccess.getSpecificationAccess().getTokenProcessorNameAssignment_3_1()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1062:1: ( rule__Specification__TokenProcessorNameAssignment_3_1 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1062:2: rule__Specification__TokenProcessorNameAssignment_3_1
            {
            pushFollow(FOLLOW_rule__Specification__TokenProcessorNameAssignment_3_1_in_rule__Specification__Group_3__1__Impl2261);
            rule__Specification__TokenProcessorNameAssignment_3_1();

            state._fsp--;


            }

             after(grammarAccess.getSpecificationAccess().getTokenProcessorNameAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_3__1__Impl"


    // $ANTLR start "rule__Specification__Group_3__2"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1072:1: rule__Specification__Group_3__2 : rule__Specification__Group_3__2__Impl ;
    public final void rule__Specification__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1076:1: ( rule__Specification__Group_3__2__Impl )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1077:2: rule__Specification__Group_3__2__Impl
            {
            pushFollow(FOLLOW_rule__Specification__Group_3__2__Impl_in_rule__Specification__Group_3__22291);
            rule__Specification__Group_3__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_3__2"


    // $ANTLR start "rule__Specification__Group_3__2__Impl"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1083:1: rule__Specification__Group_3__2__Impl : ( ']' ) ;
    public final void rule__Specification__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1087:1: ( ( ']' ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1088:1: ( ']' )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1088:1: ( ']' )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1089:1: ']'
            {
             before(grammarAccess.getSpecificationAccess().getRightSquareBracketKeyword_3_2()); 
            match(input,70,FOLLOW_70_in_rule__Specification__Group_3__2__Impl2319); 
             after(grammarAccess.getSpecificationAccess().getRightSquareBracketKeyword_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__Group_3__2__Impl"


    // $ANTLR start "rule__File__SpecificationsAssignment"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1109:1: rule__File__SpecificationsAssignment : ( ruleSpecification ) ;
    public final void rule__File__SpecificationsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1113:1: ( ( ruleSpecification ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1114:1: ( ruleSpecification )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1114:1: ( ruleSpecification )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1115:1: ruleSpecification
            {
             before(grammarAccess.getFileAccess().getSpecificationsSpecificationParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleSpecification_in_rule__File__SpecificationsAssignment2361);
            ruleSpecification();

            state._fsp--;

             after(grammarAccess.getFileAccess().getSpecificationsSpecificationParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__File__SpecificationsAssignment"


    // $ANTLR start "rule__Specification__PatternAssignment_1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1124:1: rule__Specification__PatternAssignment_1 : ( rulePattern ) ;
    public final void rule__Specification__PatternAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1128:1: ( ( rulePattern ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1129:1: ( rulePattern )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1129:1: ( rulePattern )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1130:1: rulePattern
            {
             before(grammarAccess.getSpecificationAccess().getPatternPatternParserRuleCall_1_0()); 
            pushFollow(FOLLOW_rulePattern_in_rule__Specification__PatternAssignment_12392);
            rulePattern();

            state._fsp--;

             after(grammarAccess.getSpecificationAccess().getPatternPatternParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__PatternAssignment_1"


    // $ANTLR start "rule__Specification__AuxiliaryScannerNameAssignment_2_1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1139:1: rule__Specification__AuxiliaryScannerNameAssignment_2_1 : ( ruleAuxiliaryScannerName ) ;
    public final void rule__Specification__AuxiliaryScannerNameAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1143:1: ( ( ruleAuxiliaryScannerName ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1144:1: ( ruleAuxiliaryScannerName )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1144:1: ( ruleAuxiliaryScannerName )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1145:1: ruleAuxiliaryScannerName
            {
             before(grammarAccess.getSpecificationAccess().getAuxiliaryScannerNameAuxiliaryScannerNameParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleAuxiliaryScannerName_in_rule__Specification__AuxiliaryScannerNameAssignment_2_12423);
            ruleAuxiliaryScannerName();

            state._fsp--;

             after(grammarAccess.getSpecificationAccess().getAuxiliaryScannerNameAuxiliaryScannerNameParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__AuxiliaryScannerNameAssignment_2_1"


    // $ANTLR start "rule__Specification__TokenProcessorNameAssignment_3_1"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1154:1: rule__Specification__TokenProcessorNameAssignment_3_1 : ( ruleTokenProcessorName ) ;
    public final void rule__Specification__TokenProcessorNameAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1158:1: ( ( ruleTokenProcessorName ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1159:1: ( ruleTokenProcessorName )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1159:1: ( ruleTokenProcessorName )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1160:1: ruleTokenProcessorName
            {
             before(grammarAccess.getSpecificationAccess().getTokenProcessorNameTokenProcessorNameParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleTokenProcessorName_in_rule__Specification__TokenProcessorNameAssignment_3_12454);
            ruleTokenProcessorName();

            state._fsp--;

             after(grammarAccess.getSpecificationAccess().getTokenProcessorNameTokenProcessorNameParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Specification__TokenProcessorNameAssignment_3_1"


    // $ANTLR start "rule__CannedExpression__ValueAssignment"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1169:1: rule__CannedExpression__ValueAssignment : ( ( rule__CannedExpression__ValueAlternatives_0 ) ) ;
    public final void rule__CannedExpression__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1173:1: ( ( ( rule__CannedExpression__ValueAlternatives_0 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1174:1: ( ( rule__CannedExpression__ValueAlternatives_0 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1174:1: ( ( rule__CannedExpression__ValueAlternatives_0 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1175:1: ( rule__CannedExpression__ValueAlternatives_0 )
            {
             before(grammarAccess.getCannedExpressionAccess().getValueAlternatives_0()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1176:1: ( rule__CannedExpression__ValueAlternatives_0 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1176:2: rule__CannedExpression__ValueAlternatives_0
            {
            pushFollow(FOLLOW_rule__CannedExpression__ValueAlternatives_0_in_rule__CannedExpression__ValueAssignment2485);
            rule__CannedExpression__ValueAlternatives_0();

            state._fsp--;


            }

             after(grammarAccess.getCannedExpressionAccess().getValueAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CannedExpression__ValueAssignment"


    // $ANTLR start "rule__RegularExpression__ValueAssignment"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1185:1: rule__RegularExpression__ValueAssignment : ( RULE_REGEX ) ;
    public final void rule__RegularExpression__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1189:1: ( ( RULE_REGEX ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1190:1: ( RULE_REGEX )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1190:1: ( RULE_REGEX )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1191:1: RULE_REGEX
            {
             before(grammarAccess.getRegularExpressionAccess().getValueREGEXTerminalRuleCall_0()); 
            match(input,RULE_REGEX,FOLLOW_RULE_REGEX_in_rule__RegularExpression__ValueAssignment2518); 
             after(grammarAccess.getRegularExpressionAccess().getValueREGEXTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RegularExpression__ValueAssignment"


    // $ANTLR start "rule__TokenName__NameAssignment"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1200:1: rule__TokenName__NameAssignment : ( RULE_IDENTIFIER ) ;
    public final void rule__TokenName__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1204:1: ( ( RULE_IDENTIFIER ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1205:1: ( RULE_IDENTIFIER )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1205:1: ( RULE_IDENTIFIER )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1206:1: RULE_IDENTIFIER
            {
             before(grammarAccess.getTokenNameAccess().getNameIDENTIFIERTerminalRuleCall_0()); 
            match(input,RULE_IDENTIFIER,FOLLOW_RULE_IDENTIFIER_in_rule__TokenName__NameAssignment2549); 
             after(grammarAccess.getTokenNameAccess().getNameIDENTIFIERTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TokenName__NameAssignment"


    // $ANTLR start "rule__AuxiliaryScannerName__ValueAssignment"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1215:1: rule__AuxiliaryScannerName__ValueAssignment : ( ( rule__AuxiliaryScannerName__ValueAlternatives_0 ) ) ;
    public final void rule__AuxiliaryScannerName__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1219:1: ( ( ( rule__AuxiliaryScannerName__ValueAlternatives_0 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1220:1: ( ( rule__AuxiliaryScannerName__ValueAlternatives_0 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1220:1: ( ( rule__AuxiliaryScannerName__ValueAlternatives_0 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1221:1: ( rule__AuxiliaryScannerName__ValueAlternatives_0 )
            {
             before(grammarAccess.getAuxiliaryScannerNameAccess().getValueAlternatives_0()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1222:1: ( rule__AuxiliaryScannerName__ValueAlternatives_0 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1222:2: rule__AuxiliaryScannerName__ValueAlternatives_0
            {
            pushFollow(FOLLOW_rule__AuxiliaryScannerName__ValueAlternatives_0_in_rule__AuxiliaryScannerName__ValueAssignment2580);
            rule__AuxiliaryScannerName__ValueAlternatives_0();

            state._fsp--;


            }

             after(grammarAccess.getAuxiliaryScannerNameAccess().getValueAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AuxiliaryScannerName__ValueAssignment"


    // $ANTLR start "rule__TokenProcessorName__ValueAssignment"
    // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1231:1: rule__TokenProcessorName__ValueAssignment : ( ( rule__TokenProcessorName__ValueAlternatives_0 ) ) ;
    public final void rule__TokenProcessorName__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1235:1: ( ( ( rule__TokenProcessorName__ValueAlternatives_0 ) ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1236:1: ( ( rule__TokenProcessorName__ValueAlternatives_0 ) )
            {
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1236:1: ( ( rule__TokenProcessorName__ValueAlternatives_0 ) )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1237:1: ( rule__TokenProcessorName__ValueAlternatives_0 )
            {
             before(grammarAccess.getTokenProcessorNameAccess().getValueAlternatives_0()); 
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1238:1: ( rule__TokenProcessorName__ValueAlternatives_0 )
            // ../de.sabram.upb.specs.gla.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalGla.g:1238:2: rule__TokenProcessorName__ValueAlternatives_0
            {
            pushFollow(FOLLOW_rule__TokenProcessorName__ValueAlternatives_0_in_rule__TokenProcessorName__ValueAssignment2613);
            rule__TokenProcessorName__ValueAlternatives_0();

            state._fsp--;


            }

             after(grammarAccess.getTokenProcessorNameAccess().getValueAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TokenProcessorName__ValueAssignment"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleFile_in_entryRuleFile66 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFile73 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__File__SpecificationsAssignment_in_ruleFile103 = new BitSet(new long[]{0x000007FFFFFC0032L});
    public static final BitSet FOLLOW_ruleSpecification_in_entryRuleSpecification131 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSpecification138 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group__0_in_ruleSpecification164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePattern_in_entryRulePattern191 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePattern198 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Pattern__Alternatives_in_rulePattern224 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCannedExpression_in_entryRuleCannedExpression251 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCannedExpression258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CannedExpression__ValueAssignment_in_ruleCannedExpression284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRegularExpression_in_entryRuleRegularExpression311 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRegularExpression318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RegularExpression__ValueAssignment_in_ruleRegularExpression344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTokenName_in_entryRuleTokenName371 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTokenName378 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TokenName__NameAssignment_in_ruleTokenName404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAuxiliaryScannerName_in_entryRuleAuxiliaryScannerName431 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAuxiliaryScannerName438 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AuxiliaryScannerName__ValueAssignment_in_ruleAuxiliaryScannerName464 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTokenProcessorName_in_entryRuleTokenProcessorName491 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTokenProcessorName498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TokenProcessorName__ValueAssignment_in_ruleTokenProcessorName524 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCannedExpression_in_rule__Pattern__Alternatives560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRegularExpression_in_rule__Pattern__Alternatives577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__CannedExpression__ValueAlternatives_0610 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__CannedExpression__ValueAlternatives_0630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__CannedExpression__ValueAlternatives_0650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__CannedExpression__ValueAlternatives_0670 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__CannedExpression__ValueAlternatives_0690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__CannedExpression__ValueAlternatives_0710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__CannedExpression__ValueAlternatives_0730 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__CannedExpression__ValueAlternatives_0750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__CannedExpression__ValueAlternatives_0770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__CannedExpression__ValueAlternatives_0790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__CannedExpression__ValueAlternatives_0810 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__CannedExpression__ValueAlternatives_0830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__CannedExpression__ValueAlternatives_0850 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__CannedExpression__ValueAlternatives_0870 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__CannedExpression__ValueAlternatives_0890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__CannedExpression__ValueAlternatives_0910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__CannedExpression__ValueAlternatives_0930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__CannedExpression__ValueAlternatives_0950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__CannedExpression__ValueAlternatives_0970 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__CannedExpression__ValueAlternatives_0990 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__CannedExpression__ValueAlternatives_01010 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__CannedExpression__ValueAlternatives_01030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__CannedExpression__ValueAlternatives_01050 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__CannedExpression__ValueAlternatives_01070 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__CannedExpression__ValueAlternatives_01090 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__AuxiliaryScannerName__ValueAlternatives_01125 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__AuxiliaryScannerName__ValueAlternatives_01145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__AuxiliaryScannerName__ValueAlternatives_01165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__AuxiliaryScannerName__ValueAlternatives_01185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__AuxiliaryScannerName__ValueAlternatives_01205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__AuxiliaryScannerName__ValueAlternatives_01225 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__AuxiliaryScannerName__ValueAlternatives_01245 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__AuxiliaryScannerName__ValueAlternatives_01265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__AuxiliaryScannerName__ValueAlternatives_01285 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__AuxiliaryScannerName__ValueAlternatives_01305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_rule__AuxiliaryScannerName__ValueAlternatives_01325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__AuxiliaryScannerName__ValueAlternatives_01345 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_55_in_rule__AuxiliaryScannerName__ValueAlternatives_01365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_56_in_rule__AuxiliaryScannerName__ValueAlternatives_01385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__TokenProcessorName__ValueAlternatives_01420 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_rule__TokenProcessorName__ValueAlternatives_01440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_rule__TokenProcessorName__ValueAlternatives_01460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__TokenProcessorName__ValueAlternatives_01480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__TokenProcessorName__ValueAlternatives_01500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_62_in_rule__TokenProcessorName__ValueAlternatives_01520 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__TokenProcessorName__ValueAlternatives_01540 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_64_in_rule__TokenProcessorName__ValueAlternatives_01560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_65_in_rule__TokenProcessorName__ValueAlternatives_01580 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group__0__Impl_in_rule__Specification__Group__01612 = new BitSet(new long[]{0x000007FFFFFC0030L});
    public static final BitSet FOLLOW_rule__Specification__Group__1_in_rule__Specification__Group__01615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_0__0_in_rule__Specification__Group__0__Impl1642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group__1__Impl_in_rule__Specification__Group__11673 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000028L});
    public static final BitSet FOLLOW_rule__Specification__Group__2_in_rule__Specification__Group__11676 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__PatternAssignment_1_in_rule__Specification__Group__1__Impl1703 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group__2__Impl_in_rule__Specification__Group__21733 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000028L});
    public static final BitSet FOLLOW_rule__Specification__Group__3_in_rule__Specification__Group__21736 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_2__0_in_rule__Specification__Group__2__Impl1763 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group__3__Impl_in_rule__Specification__Group__31794 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_3__0_in_rule__Specification__Group__3__Impl1821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_0__0__Impl_in_rule__Specification__Group_0__01860 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
    public static final BitSet FOLLOW_rule__Specification__Group_0__1_in_rule__Specification__Group_0__01863 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTokenName_in_rule__Specification__Group_0__0__Impl1890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_0__1__Impl_in_rule__Specification__Group_0__11919 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_66_in_rule__Specification__Group_0__1__Impl1947 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_2__0__Impl_in_rule__Specification__Group_2__01982 = new BitSet(new long[]{0x01FFF80000000000L});
    public static final BitSet FOLLOW_rule__Specification__Group_2__1_in_rule__Specification__Group_2__01985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_67_in_rule__Specification__Group_2__0__Impl2013 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_2__1__Impl_in_rule__Specification__Group_2__12044 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Specification__Group_2__2_in_rule__Specification__Group_2__12047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__AuxiliaryScannerNameAssignment_2_1_in_rule__Specification__Group_2__1__Impl2074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_2__2__Impl_in_rule__Specification__Group_2__22104 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_68_in_rule__Specification__Group_2__2__Impl2132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_3__0__Impl_in_rule__Specification__Group_3__02169 = new BitSet(new long[]{0xFE00000000000000L,0x0000000000000003L});
    public static final BitSet FOLLOW_rule__Specification__Group_3__1_in_rule__Specification__Group_3__02172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_69_in_rule__Specification__Group_3__0__Impl2200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_3__1__Impl_in_rule__Specification__Group_3__12231 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Specification__Group_3__2_in_rule__Specification__Group_3__12234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__TokenProcessorNameAssignment_3_1_in_rule__Specification__Group_3__1__Impl2261 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Specification__Group_3__2__Impl_in_rule__Specification__Group_3__22291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_70_in_rule__Specification__Group_3__2__Impl2319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSpecification_in_rule__File__SpecificationsAssignment2361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePattern_in_rule__Specification__PatternAssignment_12392 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAuxiliaryScannerName_in_rule__Specification__AuxiliaryScannerNameAssignment_2_12423 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTokenProcessorName_in_rule__Specification__TokenProcessorNameAssignment_3_12454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CannedExpression__ValueAlternatives_0_in_rule__CannedExpression__ValueAssignment2485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_REGEX_in_rule__RegularExpression__ValueAssignment2518 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_IDENTIFIER_in_rule__TokenName__NameAssignment2549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AuxiliaryScannerName__ValueAlternatives_0_in_rule__AuxiliaryScannerName__ValueAssignment2580 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TokenProcessorName__ValueAlternatives_0_in_rule__TokenProcessorName__ValueAssignment2613 = new BitSet(new long[]{0x0000000000000002L});

}